layui.config({
    base: basePath,
    version: skyeyeVersion
}).extend({
    window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form', 'table'], function (exports) {
    winui.renderColor();
    var $ = layui.$,
        form = layui.form,
        table = layui.table;
    var tenantId = GetUrlParam("tenantId");
    if (!tenantId) {
        winui.window.msg('缺少必要参数', { icon: 2, time: 2000 });
        return;
    }

    // 表格渲染
    table.render({
        id: 'messageTable',
        elem: '#messageTable',
        method: 'post',
        url: reqBasePath + 'queryTenantUserListByTenantId',
        where: getTableParams(),
        even: true,
        page: true,
        limits: [8, 16, 24, 32, 40, 48, 56],
        limit: 8,
        cols: [[
            { title: '序号', type: 'numbers' },
            { field: 'jobNumber', title: '工号', width: 80 },
            {
                field: 'staffMation', title: '用户名称', width: 100, templet: function (d) {
                    return d.staffMation ? d.staffMation.userName : '';
                }
            },
            {
                field: 'staffMation', title: '手机号码', width: 120, templet: function (d) {
                    return d.staffMation ? d.staffMation.phone : '';
                }
            },
            {
                field: 'staffMation', title: '性别', width: 80, templet: function (d) {
                    if (d.staffMation && d.staffMation.userSex) {
                        return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("sexEnum", 'id', d.staffMation.userSex, 'name');
                    }
                    return '';
                }
            },
            { field: 'companyName', title: '所属公司', width: 150 },
            { field: 'departmentName', title: '所属部门', width: 120 },
            { field: 'jobName', title: '职位', width: 100 },
            { field: 'jobScoreName', title: '职位定级', width: 100 },
            { field: 'entryTime', title: '入职时间', width: 100 },
            {
                field: 'state', title: '在职状态', width: 110, templet: function (d) {
                    return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("userStaffState", 'id', d.state, 'name');
                }
            },
            {
                field: 'isAdmin', title: '是否管理员', width: 100, templet: function (d) {
                    return d.isAdmin == 1 ?
                        "<span class='state-up'>是</span>" :
                        "<span class='state-info'>否</span>";
                }
            },
            { field: 'createTime', title: '创建时间', width: 150 }
        ]],
        done: function (json) {
            matchingLanguage();
            initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入用户工号", function () {
                table.reloadData("messageTable", { page: { curr: 1 }, where: getTableParams() });
            });
        }
    });

    // 表格刷新
    $("body").on("click", "#reloadTable", function () {
        loadTable();
    });

    // 刷新表格
    function loadTable() {
        table.reload("messageTable", {
            page: { curr: 1 },
            where: getTableParams()
        });
    }

    // 获取表格参数，合并高级搜索条件
    function getTableParams() {
        return $.extend(true, { tenantId: tenantId }, initTableSearchUtil.getSearchValue("messageTable"));
    }

    exports('userInformation', {});
});
